home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TeX 1995 July
/
TeX CD-ROM July 1995 (Disc 1)(Walnut Creek)(1995).ISO
/
macros
/
latex209
/
contrib
/
pslatex
/
lfonts.psl
< prev
next >
Wrap
Text File
|
1992-05-25
|
36KB
|
952 lines
%%%========================================================================
%%% @LaTeX-file{
%%% author = "Mario Wolczko",
%%% version = "2",
%%% date = "21 May 1992",
%%% time = "21:15:10 BST",
%%% filename = "lfonts.psl",
%%% address = "Dept of Computer Science
%%% The University of Manchester
%%% Oxford Road
%%% Manchester M13 9PL
%%% UK",
%%% telephone = "+44-61-275-6146",
%%% FAX = "+44-61-275-6236",
%%% checksum = "54864 951 2493 36485",
%%% email = "mario@cs.man.ac.uk (Internet)",
%%% codetable = "ISO/ASCII",
%%% keywords = "LaTeX, PostScript, PS-LaTeX",
%%% supported = "yes",
%%% docstring = "Part of PS-LaTeX",
%%% }
%%%========================================================================
% Modified by Mario Wolczko for use with PS-LaTeX
%
% Last edited: Thu May 21 21:15:13 1992 by mario (Mario Wolczko) on madarch
%
% Report bugs in this file to:
% Mario Wolczko
% Dept of Computer Science, The University, Oxford Rd, Manchester M13 9PL, UK
% mario@cs.man.ac.uk.
%%
%% Copyright (C) 1989,1990,1991 by Frank Mittelbach, Rainer Schoepf.
%% All rights reserved.
%%
%% This file is part of the NFSS (New Font Selection Scheme) package.
%%
%% IMPORTANT NOTICE:
%%
%% You are not allowed to change this file. You may however copy this file
%% to a file with a different name and then change the copy if you obey
%% the restrictions on file changes described in readme.mz.
%%
%% You are allowed to distribute this file under the condition that it is
%% distributed together with all files mentioned in readme.mz3. If you
%% receive only some of these files from someone, complain!
%%
%% You are NOT ALLOWED to distribute this file alone. You are NOT ALLOWED
%% to take money for the distribution or use of either this file or a
%% changed version, except for a nominal charge for copying etc.
%%
%% For error reports in case of UNCHANGED versions see readme files.
%%
%% Please do not request updates from us directly. Distribution is done
%% through Mail-Servers and TeX organizations.
%%
\def\fileversion{v1.3a}
\def\filedate{91/11/27}
\def\docdate {90/01/28}
%% \CheckSum{532}
%% \CharacterTable
%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
%% Digits \0\1\2\3\4\5\6\7\8\9
%% Exclamation \! Double quote \" Hash (number) \#
%% Dollar \$ Percent \% Ampersand \&
%% Acute accent \' Left paren \( Right paren \)
%% Asterisk \* Plus \+ Comma \,
%% Minus \- Point \. Solidus \/
%% Colon \: Semicolon \; Less than \<
%% Equals \= Greater than \> Question mark \?
%% Commercial at \@ Left bracket \[ Backslash \\
%% Right bracket \] Circumflex \^ Underscore \_
%% Grave accent \` Left brace \{ Vertical bar \|
%% Right brace \} Tilde \~}
\immediate\write\sixt@@n{File: `fam'
\space\space\space\space\space\space\space\space
\space \fileversion \space <\filedate> (FMi and RmS)}
\immediate\write\sixt@@n{English Documentation
\space\space\space\space\space <\docdate> (FMi and RmS)}
\def\@spaces{\space\space\space\space}
\def\@gobble#1{}
\def\@empty{}
\def\@height{height}
\def\@depth{depth}
\def\@width{width}
\def\@nomath#1{\relax\ifmmode \font@warning{Don't use \string#1 in
math mode}\fi}
\def\no@alphabet@error#1#2{\relax \ifmmode
\errhelp\no@alphabet@help
\errmessage{Math alphabet identifier \string#2 is undefined
in math version `#1'.} \fi}
\newhelp\no@alphabet@help
{Your requested math alphabet is undefined in the current
math version.^^JCheck the spelling or use the
\string\addtoversion\space command.}
\def\new@mathgroup{\alloc@8\mathgroup\chardef\sixt@@n}
\let\mathgroup\fam
\let\newfam\new@mathgroup
\def\new@fontshape#1#2#3#4#5{\expandafter
\edef\csname#1/#2/#3\endcsname{\expandafter\noexpand
\csname #4\endcsname}}
\def\subst@fontshape#1#2#3#4#5#6{\expandafter
\def\csname#1/#2/#3\endcsname{%
\font@warning{Font/shape `#1/#2/#3' not available}%
\font@warning{Substituting `#4/#5/#6' instead}%
\global\expandafter\let
\csname#1/#2/#3\expandafter\endcsname
\csname#4/#5/#6\endcsname}}
\def\extra@def#1#2#3{%
\def\@tempa##1{#2}%
\ifx \@tempa\@gobble
\expandafter\let\csname +#1\endcsname\@gobble
\else \expandafter\def\csname +#1\endcsname##1{#2}\fi
\expandafter\def\csname =#1\endcsname{\default@mextra#3}%
}
\let\default@mextra\@empty
\def\preload@sizes#1#2#3#4{{
\def\next##1,{%
\if>##1>%
\let\next\relax
\else
\xdef\font@name{\csname#1/#2/#3/##1\endcsname}%
\pickup@font
\global\expandafter\let\font@name\relax
\fi
\next}%
\next#4,,}}
\newif\ifdefine@mathfonts \define@mathfontstrue
\def\define@mathsizes#1#2#3{\expandafter \def
\csname S@#1\endcsname{\gdef\sf@size{#2}\gdef\ssf@size{#3}%
\define@mathfontstrue}}
\def\define@nomathsize#1{\expandafter \let
\csname S@#1\endcsname \define@mathfontsfalse}
\def\fontfamily#1{\edef\f@family{#1}}
\def\fontseries#1{\edef\f@series{#1}}
\def\fontshape#1{\edef\f@shape{#1}}
\let\family=\fontfamily
\let\series=\fontseries
\let\shape=\fontshape
\def\fontsize#1#2{%
\edef\f@size{#1}%
\edef\setnew@baselineskip{\baselineskip #2\relax}%
\edef\lcl@currsize{#1#2}}
\let\size=\fontsize
\def\mathversion#1{\@nomath\mathversion
\expandafter\ifx\csname mv@#1\endcsname\relax
\font@warning{The requested version `#1' is unknown}\else
\edef\math@version{#1}\glb@settings\aftergroup\glb@settings
\fi}
\def\pickup@font{%
\expandafter \ifx \font@name \relax
\define@newfont
\fi}
{\catcode`\/=12
\gdef\split@name#1/#2/#3/#4\@nil{\def\f@family{#1}%
\def\f@series{#2}%
\def\f@shape{#3}%
\def\f@size{#4}}}
\def\define@newfont{%
\begingroup
\escapechar\m@ne
\expandafter\expandafter\expandafter
\split@name\expandafter\string\font@name\@nil
\expandafter\ifx
\csname\f@family/\f@series/\f@shape\endcsname \relax
\wrong@fontshape\else
\csname\f@family/\f@series/\f@shape\endcsname
\extract@font\fi
\endgroup}
\def\wrong@fontshape{%
\edef\@tempa{\csname\f@family/\f@series/\f@shape\endcsname}%
\font@warning{Font/shape `\@tempa' undefined}%
\let\f@shape\default@shape
\expandafter\ifx\csname\f@family/\f@series/\f@shape\endcsname\relax
\let\f@series\default@series
\expandafter
\ifx\csname\f@family/\f@series/\f@shape\endcsname\relax
\let\f@family\default@family
\fi \fi
\font@warning{Using `\f@family/\f@series/\f@shape' instead}%
\global\expandafter\expandafter\expandafter\let\expandafter\@tempa
\csname\f@family/\f@series/\f@shape\endcsname
\xdef\font@name{%
\csname\f@family/\f@series/\f@shape/\f@size\endcsname}%
\pickup@font}
\def\strip@prefix#1>{}
\newhelp\nofont@help
{You requested a family/series/shape/size combination that is
totally^^Junknown. \space
There are two cases in which this error can occur:^^J\space
\space 1) You used the \string\fontsize\space macro to select
a size that is not available.^^J\space
\space 2) If you did not do that, go to your local `wizard'
and^^J \@spaces complain fiercely that the font
selection tables are corrupted!^^J}
\def\addstuffto@version#1#2{%
\ifx#1\undefined
\toks@{}%
\else
\toks@\expandafter{#1}%
\fi
\xdef#1{%
\the\toks@
#2}%
\gdef\glb@currsize{}}
\def\define@mathalphabet#1#2#3#4#5#6{%
\def\@tempa{#6}%
\addstuffto@version#1{%
\gdef\noexpand#2%
\ifx\@tempa\@empty
{\noexpand\no@alphabet@error
\noexpand\math@version
\noexpand#2}%
\else
{\noexpand\select@group
\noexpand#2#3%
\expandafter\noexpand\csname =#4\endcsname
\expandafter\noexpand\csname #4/#5/#6\endcsname}%
\fi}}
\def\define@mathgroup#1#2#3#4#5{%
\addstuffto@version#1{%
\noexpand\getanddefine@fonts#2%
\expandafter\noexpand\csname #3/#4/#5\endcsname}}
\def\select@group#1#2#3#4{\relax\ifmmode
\begingroup
\let\math@fonts\@empty \escapechar\m@ne
\getanddefine@fonts#2#4%
\globaldefs\@ne \math@fonts
\endgroup
\gdef#1{\use@mathgroup#3{#2}}%
\expandafter #1\fi}
\let\math@bgroup\begingroup
\def\math@egroup#1{#1\endgroup}
\def\glb@settings{\begingroup
\let\math@fonts\@empty
\ifmath@fonts
\csname S@\f@size\endcsname
\ifdefine@mathfonts
\escapechar\m@ne
\csname mv@\math@version \endcsname \fi
\fi
\globaldefs\@ne
\math@fonts
\let \glb@currsize \lcl@currsize
\endgroup}
\newif\ifmath@fonts
\math@fontstrue
\def\default@fontshape{\fontfamily\default@family
\fontseries\default@series\fontshape\default@shape}
\def\showhyphens#1{\setbox0\vbox{\parfillskip\z@skip\hsize\maxdimen
\default@fontshape\selectfont
\pretolerance\m@ne\tolerance\m@ne\hbadness\z@\showboxdepth\z@\ #1}}
\def\addto@hook#1#2{#1\expandafter{\the#1#2}}
\ifx\inputlineno\undefined
\let\on@line\@empty
\else
\ifnum\inputlineno=\m@ne
\let\on@line\@empty
\else
\def\on@line{ on input line \the\inputlineno}
\fi
\fi
\def\fileversion{v1.0r}
\def\filedate{90/08/27}
\def\docdate {90/04/05}
%% \CheckSum{336}
%% \CharacterTable
%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
%% Digits \0\1\2\3\4\5\6\7\8\9
%% Exclamation \! Double quote \" Hash (number) \#
%% Dollar \$ Percent \% Ampersand \&
%% Acute accent \' Left paren \( Right paren \)
%% Asterisk \* Plus \+ Comma \,
%% Minus \- Point \. Solidus \/
%% Colon \: Semicolon \; Less than \<
%% Equals \= Greater than \> Question mark \?
%% Commercial at \@ Left bracket \[ Backslash \\
%% Right bracket \] Circumflex \^ Underscore \_
%% Grave accent \` Left brace \{ Vertical bar \|
%% Right brace \} Tilde \~}
%%
\immediate\write\sixt@@n{File: `tracefnt' \@spaces
\fileversion\space <\filedate> (FMi and RmS)}
\immediate\write\sixt@@n{English Documentation
\@spaces\space <\docdate> (FMi and RmS)}
\def\extract@font{%
\def\@tempa{\def\extract@fontinfo####1}%
\edef\@tempb{<\expandafter\strip@prefix\meaning\f@size>}%
\expandafter\@tempa\@tempb##2##3<##4\@nil{%
\global\expandafter\font \font@name
\ifcase0##2##3\relax\or
##3
\font@warning{Font/shape
`\f@family/\f@series/\f@shape'
in size \@tempb\space not available}%
\font@warning{Using external font `##3'
instead}\else
\default@errfont \errhelp\nofont@help
\errmessage{Font \expandafter
\string\font@name\space
not found}%
\fi
}%
\edef\font@info{\expandafter\expandafter\expandafter\string
\csname \f@family/\f@series/\f@shape \endcsname\@tempb}%
\expandafter\extract@fontinfo\font@info 3<\@nil
\csname +\f@family \expandafter
\endcsname \font@name \relax}
\def\selectfont{%
\xdef\font@name{%
\csname\f@family/\f@series/\f@shape/\f@size\endcsname}%
\pickup@font
\font@name
\ifx \glb@currsize \lcl@currsize
\else
\setnew@baselineskip
\baselineskip\baselinestretch\baselineskip
\setbox\strutbox\hbox{\vrule\@height.7\baselineskip
\@depth.3\baselineskip \@width\z@}%
\normalbaselineskip\baselineskip
\glb@settings \the\every@size
\aftergroup\glb@settings \fi
}
\def\baselinestretch{1}
\newtoks\every@size
\every@size={}
\def\use@mathgroup#1#2{\relax\ifmmode
\math@bgroup
#1\mathgroup#2\relax
\expandafter\math@egroup\fi}%
\def\getanddefine@fonts#1#2{%
\xdef\font@name{\csname \string#2/\f@size\endcsname}%
\pickup@font \let\textfont@name\font@name
\xdef\font@name{\csname \string#2/\sf@size\endcsname}%
\pickup@font \let\scriptfont@name\font@name
\xdef\font@name{\csname \string#2/\ssf@size\endcsname}%
\pickup@font
\edef\math@fonts{\math@fonts
\textfont#1\textfont@name
\scriptfont#1\scriptfont@name
\scriptscriptfont#1\font@name}%
}
\def\tracingfonts{\font@warning{\string\tracingfonts\space
command not provided.^^J
Use `tracefnt' option in \string\documentstyle\space
command.^^J Command found:}%
\count@}
\def\font@warning#1{%
\immediate\write\sixt@@n{Warning: #1\on@line.}%
}
\def\fileversion{v1.1c}
\def\filedate{90/06/06}
\def\docdate {90/06/06}
%% \CheckSum{57}
%% \CharacterTable
%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
%% Digits \0\1\2\3\4\5\6\7\8\9
%% Exclamation \! Double quote \" Hash (number) \#
%% Dollar \$ Percent \% Ampersand \&
%% Acute accent \' Left paren \( Right paren \)
%% Asterisk \* Plus \+ Comma \,
%% Minus \- Point \. Solidus \/
%% Colon \: Semicolon \; Less than \<
%% Equals \= Greater than \> Question mark \?
%% Commercial at \@ Left bracket \[ Backslash \\
%% Right bracket \] Circumflex \^ Underscore \_
%% Grave accent \` Left brace \{ Vertical bar \|
%% Right brace \} Tilde \~}
%% File `setsize.doc'.
%% Copyright (C) 1989,1990,1991 Frank Mittelbach and Rainer Sch\"opf,
%% all rights reserved.
\immediate\write\sixt@@n{File: `setsize' \space
\@spaces \fileversion \space <\filedate> (FMi and RmS)}
\immediate\write\sixt@@n{English Documentation
\space \@spaces <\docdate> (FMi and RmS)}
\def\normalsize{\@normalsize}
\def\@vpt{5}
\def\@vipt{6}
\def\@viipt{7}
\def\@viiipt{8}
\def\@ixpt{9}
\def\@xpt{10}
\def\@xipt{11}
\def\@xiipt{12}
\def\@xivpt{14}
\def\@xviipt{17}
\def\@xxpt{20}
\def\@xxvpt{25}
\define@mathsizes{5}{5}{5}
\define@mathsizes{6}{5}{5}
\define@mathsizes{7}{6}{5}
\define@mathsizes{8}{6}{5}
\define@mathsizes{9}{6}{5}
\define@mathsizes{10}{7}{5}
\define@mathsizes{11}{7}{5}
\define@mathsizes{12}{8}{6}
\define@mathsizes{14}{10}{7}
\define@mathsizes{17}{12}{10}
\define@mathsizes{20}{14}{12}
\define@mathsizes{25}{20}{17}
\def\fileversion{v1.1h}
\def\filedate{90/06/26}
\def\docdate {90/06/26}
%% \CheckSum{304}
%% \CharacterTable
%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
%% Digits \0\1\2\3\4\5\6\7\8\9
%% Exclamation \! Double quote \" Hash (number) \#
%% Dollar \$ Percent \% Ampersand \&
%% Acute accent \' Left paren \( Right paren \)
%% Asterisk \* Plus \+ Comma \,
%% Minus \- Point \. Solidus \/
%% Colon \: Semicolon \; Less than \<
%% Equals \= Greater than \> Question mark \?
%% Commercial at \@ Left bracket \[ Backslash \\
%% Right bracket \] Circumflex \^ Underscore \_
%% Grave accent \` Left brace \{ Vertical bar \|
%% Right brace \} Tilde \~}
%% \changes{v1.1f}{90/04/05}{`endinput at the end removed.}
\immediate\write\sixt@@n{File: `latint' \space\space
\@spaces\fileversion\space <\filedate> (FMi and RmS)}
\immediate\write\sixt@@n{English Documentation
\@spaces\space <\docdate> (FMi and RmS)}
\newif\if@tempswa
\def\in@#1#2{%
\def\in@@##1#1##2##3\in@@{%
\ifx\in@##2\in@false\else\in@true\fi}%
\in@@#2#1\in@\in@@}
\newif\ifin@
\let\version@list=\@empty
\def\@gobblefour#1#2#3#4{}
\def\new@mathversion#1{%
%% \changes{v1.1c}{89/11/27}{`versionlist enclosed in braces.}
\expandafter\in@\expandafter#1\expandafter{\version@list}%
\ifin@
\@latexerr{Math version
`\expandafter\@gobblefour\string#1'
already defined}\@eha
\else
\def\@tempa{\noexpand\@tempa\noexpand}%
\edef\version@list{\version@list\@tempa#1}%
\def\@tempc{\noexpand\@tempc\noexpand}%
\let\@tempe\relax
\def\@tempb##1##2##3{%
\edef##1{\expandafter\remove@nil##1%
\@tempc
#1%
\@tempe
\noexpand\@nil}}%
\alpha@list
\fi}
\def\remove@nil#1#2\@nil{%
\noexpand#1\noexpand#2}
\def\newmathalphabet{%
\@ifstar{\newmathalphabet@@@}%
{\newmathalphabet@@}}
\def\newmathalphabet@@#1{%
\newmathalphabet@@@#1{}{}{}}
\def\newmathalphabet@@@#1#2#3#4{%
\edef\group@number{\expandafter
\noexpand\csname\expandafter\@gobble
\string #1@group\endcsname}%
\expandafter\ifx\group@number\relax
\@tempswafalse
\ifx\undefined#1\else\@tempswatrue\fi
\else
\@tempswatrue
\fi
\if@tempswa
\@latexerr{Math alphabet
`\string#1' already defined}\@eha
\else
\expandafter\new@mathgroup\group@number
\new@internalmathalphabet{#1}%
{\group@number}{#2}{#3}{#4}%
\fi}
\let\alpha@list\@empty
%% \changes{v1.1h}{90/06/26}{Macro added.}
\let\used@alpha@list\@empty
\def\new@internalmathalphabet#1#2#3#4#5{%
\def\@tempb{\noexpand\@tempb\noexpand}%
\edef\alpha@list{\alpha@list\@tempb#1%
{#2}%
{{#3}{#4}{#5}}}%
\let\@tempe\relax
\let\@tempc\relax
\def\@tempa##1{\@tempc
\noexpand##1%
\@tempe}%
\edef#1{\noexpand\set@alpha
\noexpand#1%
\version@list
\noexpand\@nil}%
}
\def\addtoversion#1{%
\expandafter\addtoversion@
\csname mv@#1\endcsname}
\def\addtoversion@#1#2#3#4#5{%
%% \changes{v1.1c}{89/11/27}{`versionlist and `alphalist enclosed
%% in braces.}
\expandafter\in@\expandafter#1\expandafter{\version@list}%
\ifin@
\expandafter\in@\expandafter#2\expandafter{\alpha@list}%
\ifin@
\def\next##1#1##2##3\@nil{%
\ifx##2\@tempe
\def#2{##1#1{{#3}{#4}{#5}}##3\@nil}%
\else
\@latexerr{%
Math alphabet identifier `\string#2' already
defined for math version `\expandafter
\@gobblefour\string#1'}%
{Maybe you typed the same command twice?}%
\fi}%
\expandafter\next#2%
%% \changes{v1.1h}{90/06/26}{Extra check and error message for
%% already used math alphabet identifiers.}
\else
\expandafter\in@\expandafter#2\expandafter{\used@alpha@list}%
\ifin@
\@latexerr{%
Math alphabet identifier `\string#2' already used
to produce text}%
{A math alphabet identifier can only be added to a
math version^^Jbefore its first use in math.^^J%
Remedy: Move this \string\addtoversion
\space declaration up.}%
\else
\@latexerr{%
Math alphabet identifier `\string#2' not defined}%
{Use \string\newmathalphabet\space to define it.}%
\fi
\fi
\else
\@latexerr{%
Math version `\expandafter\@gobblefour\string#1' is not
defined}{You probably mispelled the name of the math
version.^^JOr you have to specify another document
style option^^Jin the \string\documentstyle\space
command.}%
\fi
}
\def\process@table{%
\def\@tempc{\noexpand\@tempc\noexpand}%
\def\@tempb##1##2##3{\def\@tempe{{##3}}%
\edef##1{##1}}%
\let\set@alpha\@gobble
\let\@nil\@empty
\alpha@list
%% \changes{v1.1f}{90/01/18}{Changed to set math all alphabet
%% identifiers to `relax.}
\def\@tempb##1##2##3{%
\def\@tempc####1####2{%
\define@mathalphabet####1##1##2####2}%
##1%
\let ##1\relax}%
%% \changes{v1.1h}{90/06/26}{Added clearing of `used@alpha@list.}
\alpha@list
\let\used@alpha@list\@empty}
%% \changes{v1.1e}{89/12/16}{Completely revised.}
\def\set@alpha#1#2\@nil{%
\relax\ifmmode
%% \changes{v1.1h}{90/06/26}{Added updating of `used@alpha@list.}
\expandafter\gdef\expandafter\used@alpha@list\expandafter
{\used@alpha@list#1}%
\def\next##1\@tempb#1##2##3##4\@nil{%
\def\@tempd{##2}%
\def\@tempe{{##3}}%
\gdef\alpha@list{##1##4}}%
\expandafter\next\alpha@list\@nil
\begingroup
\def\@tempc{\noexpand\@tempc\noexpand}%
\let\set@alpha\@gobble
\let\@nil\@empty
\xdef#1{#1}%
\endgroup
\def\@tempc##1##2{%
\define@mathalphabet##1#1\@tempd##2}%
%% \changes{v1.1e}{89/12/16}{Argument \#1 called twice in the end.}
#1%
\glb@settings
\expandafter #1\fi}
\def\fileversion{v1.2a}
\def\filedate{91/11/27}
\def\docdate {91/11/27}
%% \CheckSum{840}
%% \CharacterTable
%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
%% Digits \0\1\2\3\4\5\6\7\8\9
%% Exclamation \! Double quote \" Hash (number) \#
%% Dollar \$ Percent \% Ampersand \&
%% Acute accent \' Left paren \( Right paren \)
%% Asterisk \* Plus \+ Comma \,
%% Minus \- Point \. Solidus \/
%% Colon \: Semicolon \; Less than \<
%% Equals \= Greater than \> Question mark \?
%% Commercial at \@ Left bracket \[ Backslash \\
%% Right bracket \] Circumflex \^ Underscore \_
%% Grave accent \` Left brace \{ Vertical bar \|
%% Right brace \} Tilde \~}
%% File `lfonts.doc'.
%% Copyright (C) 1989,1990,1991 Frank Mittelbach and Rainer Sch\"opf,
%% all rights reserved.
%% \changes{v1.2a}{91/11/27}{All `family, `shape etc. renamed to
%% `fontfamily etc.}
%% \changes{v1.1i}{90/04/02}{`input of files now handled by docstrip.}
%% \changes{v1.1g}{90/02/08}{Protected the commands `family, `series,
%% \changes{v1.1c}{89/12/03}{Some internal macros renamed to make them
%% inaccessible.}
%% \changes{v1.1b}{89/12/02}{`rmmath renamed to `mathrm}
%% \changes{v1.0i}{89/11/07}{All family, series, and shape names
%% \changes{v1.0g}{89/05/22}{Lines shortened to 72 characters}
%% \changes{v1.0f}{89/04/29}{Corrections to \LaTeX tabular env. added.}
%% \changes{v1.0e}{89/04/27}{Definitions of \LaTeX symbols corrected.}
%% \changes{v1.0d}{89/04/26}{`xpt added.}
%% \changes{v1.0c}{89/04/21}{Changed to conform to fam.tex.}
%% \changes{v1.0b}{89/04/15}{`mathfontset renamed to `mathversion.}
%% \changes{v1.0a}{89/04/10}{Starting with version numbers!
%% `newif for `@tempswa added since this switch is
%% unkown at the time when this file is read in.
%% (latex.tex is loaded later.)
%% `math@famname changed to `math@version.}
\immediate\write\sixt@@n{File: `lfonts' \space\space
\@spaces\fileversion\space <\filedate> (FMi and RmS)}
\immediate\write\sixt@@n{English Documentation
\@spaces\space <\docdate> (FMi and RmS)}
\input fontdef.tex
\input preload.tex
%% \changes{v1.1g}{90/02/08}{Macro added.}
\let\p@fontfamily=\fontfamily
\def\fontfamily{\protect\p@fontfamily}
\let\family=\fontfamily
%% \changes{v1.1g}{90/02/08}{Macro added.}
\let\p@fontseries=\fontseries
\def\fontseries{\protect\p@fontseries}
\let\series=\fontseries
%% \changes{v1.1g}{90/02/08}{Macro added.}
\let\p@fontshape=\fontshape
\def\fontshape{\protect\p@fontshape}
\let\shape=\fontshape
%% \changes{v1.1g}{90/02/08}{Macro added.}
\let\p@fontsize=\fontsize
\def\fontsize{\protect\p@fontsize}
\let\size=\fontsize
%% \changes{v1.1g}{90/02/08}{Macro added.}
\let\p@selectfont=\selectfont
\def\selectfont{\protect\p@selectfont}
%% \changes{v1.1g}{90/02/08}{Macro added.}
\let\p@mathversion=\mathversion
\def\mathversion{\protect\p@mathversion}
\new@mathversion\mv@normal
%\new@mathversion\mv@bold % miw -- no bold math in PS fonts
%% \changes{v1.0k}{89/11/08}{Changed first argument according to
%% \changes{v1.0l}{89/11/14}{Changes in naming of math and \LaTeX{}
\define@mathgroup\mv@normal{0}
{times}{m}{n}
\define@mathgroup\mv@normal{1}
{times}{m}{it}
\define@mathgroup\mv@normal{2}
{sy}{m}{n}
% 3 and 4 are cmex and lasy
\new@mathgroup\cmsy@group
\new@mathgroup\cmm@group
\new@mathgroup\sy@group
\define@mathgroup\mv@normal\cmsy@group{cmsy}{m}{n}
\define@mathgroup\mv@normal\cmm@group{cmm}{m}{it}
\define@mathgroup\mv@normal\sy@group{sy}{m}{sl}
% miw - no bold
%\define@mathgroup\mv@bold{0}
% {cmr}{bx}{n}
%\define@mathgroup\mv@bold{1}
% {cmm}{b}{it}
%\define@mathgroup\mv@bold{2}
% {cmsy}{b}{n}
\textfont 3 = \csname cmex/m/n/10\endcsname
\scriptfont 3 = \csname cmex/m/n/10\endcsname
\scriptscriptfont 3 = \csname cmex/m/n/10\endcsname
\expandafter\let\expandafter\tenex \the\textfont 3
%% \changes{v1.1e}{90/01/21}{Use new interface: `use@mathgroup.}
%% \changes{v1.1e}{90/01/21}{Use new interface: `use@mathgroup.}
%% \changes{v1.1e}{90/01/21}{Use new interface: `use@mathgroup.}
%% \changes{v1.1b}{89/11/28}{`rmmath $\to$ `mathrm.}
{\catcode`\= 11
\gdef\mathrm{\use@mathgroup \=times \z@\@fixf}% miw
\gdef\mit{\use@mathgroup \=times \@ne}% miw
\gdef\cal{\use@mathgroup \=cmsy \cmsy@}% miw
}
\def\rm{\protect\prm}
\def\sf{\protect\psf}
\def\tt{\protect\ptt}
\def\bf{\protect\pbf}
\def\sl{\protect\psl}
\def\sc{\protect\psc}
\def\it{\protect\pit}
%% \changes{v1.1f}{90/01/28}{Macro added.}
%% \changes{v1.1f}{90/01/28}{Macro added.}
%% \changes{v1.1f}{90/01/28}{Macro added.}
%% \changes{v1.1f}{90/01/28}{Macro added.}
%% \changes{v1.1f}{90/01/28}{Macro added.}
%% \changes{v1.1f}{90/01/28}{Macro added.}
%% \changes{v1.1f}{90/01/28}{Macro added.}
%% \changes{v1.1h}{90/02/17}{Macro added.}
%% \changes{v1.1h}{90/02/17}{Macro added.}
%\def\rmdefault{cmr}
%\def\sfdefault{cmss}
%\def\ttdefault{cmtt}
\def\bfdefault{b}% miw
\def\itdefault{it}
\def\sldefault{sl}
\def\scdefault{sc}
\def\mediumseriesdefault{m}
\def\normalshapedefault{n}
%% \changes{v1.1e}{90/01/21}{Renamed to `mediumseries.}
%% \changes{v1.0h}{89/08/15}{Introduced `normalshape and
%% \changes{v1.1h}{90/02/17}{Now user default used.}
\def\mediumseries{\protect\pmediumseries}
\def\pmediumseries{\fontseries\mediumseriesdefault\selectfont}
\def\normalshape{\protect\pnormalshape}
\def\pnormalshape{\fontshape\normalshapedefault\selectfont}
\def\boldmath{\@nomath\boldmath
\mathversion{bold}}
\def\unboldmath{\@nomath\unboldmath
\mathversion{normal}}
\def\math@version{normal}
\def\hexnumber@#1{\ifcase#1 \z@
\or \@ne \or \tw@ \or \thr@@
\or 4\or 5\or 6\or 7\or 8\or
9\or A\or B\or C\or D\or E\or F\fi}
%% \changes{v1.1e}{90/01/25}{Macro added for math operators.}
\def\operator@font{\mathgroup\z@}
%% \changes{v1.1e}{90/01/25}{All math operators added and changed.}
\def\log{\mathop{\operator@font log}\nolimits}
\def\lg{\mathop{\operator@font lg}\nolimits}
\def\ln{\mathop{\operator@font ln}\nolimits}
\def\lim{\mathop{\operator@font lim}}
\def\limsup{\mathop{\operator@font lim\,sup}}
\def\liminf{\mathop{\operator@font lim\,inf}}
\def\sin{\mathop{\operator@font sin}\nolimits}
\def\arcsin{\mathop{\operator@font arcsin}\nolimits}
\def\sinh{\mathop{\operator@font sinh}\nolimits}
\def\cos{\mathop{\operator@font cos}\nolimits}
\def\arccos{\mathop{\operator@font arccos}\nolimits}
\def\cosh{\mathop{\operator@font cosh}\nolimits}
\def\tan{\mathop{\operator@font tan}\nolimits}
\def\arctan{\mathop{\operator@font arctan}\nolimits}
\def\tanh{\mathop{\operator@font tanh}\nolimits}
\def\cot{\mathop{\operator@font cot}\nolimits}
\def\coth{\mathop{\operator@font coth}\nolimits}
\def\sec{\mathop{\operator@font sec}\nolimits}
\def\csc{\mathop{\operator@font csc}\nolimits}
\def\max{\mathop{\operator@font max}}
\def\min{\mathop{\operator@font min}}
\def\sup{\mathop{\operator@font sup}}
\def\inf{\mathop{\operator@font inf}}
\def\arg{\mathop{\operator@font arg}\nolimits}
\def\ker{\mathop{\operator@font ker}\nolimits}
\def\dim{\mathop{\operator@font dim}\nolimits}
\def\hom{\mathop{\operator@font hom}\nolimits}
\def\det{\mathop{\operator@font det}}
\def\exp{\mathop{\operator@font exp}\nolimits}
\def\Pr{\mathop{\operator@font Pr}}
\def\gcd{\mathop{\operator@font gcd}}
\def\deg{\mathop{\operator@font deg}\nolimits}
\def\bmod{\mskip-\medmuskip\mkern5mu
\mathbin{\operator@font mod}\penalty900\mkern5mu\mskip-\medmuskip}
\def\pmod#1{\allowbreak\mkern18mu({\operator@font mod}\,\,#1)}
%% \changes{v1.1e}{90/01/25}{Completely redefined.}
\def\${\protect\pdollar}
\def\pdollar{\text{\ifdim \fontdimen\@ne\font >\z@
\sl \else \normalshape \fi\char`\$}}
\def\pounds{{\protect\ppounds}}
\def\ppounds{\text{\ifdim \fontdimen\@ne\font >\z@
\it \else \fontshape u\selectfont \fi \char'44}}
%% \changes{v1.1e}{90/01/25}{Macro added.}
%% \changes{v1.1k}{90/06/23}{Changed to `mbox.}
\def\text{\mbox}
\def\copyright{{\protect\pcopyright}}
\def\pcopyright{\ooalign{\hfil
\raise.07ex\hbox{\mediumseries\normalshape c}\hfil\crcr
\mathhexbox20D}}
\input xxxlfont.sty
%% \changes{v1.1n}{91/09/28}{Cleanup for new LaTeX version.}
\newif\if@twocolumn
\newif\if@filesw
\newif\if@specialpage
\newif \if@twoside
\ifx\undefined\reset@font
\errhelp{The LaTeX that you use was released before December 1, 91.^^J^^J%
At that time several changes have been introduced into
LaTeX and the standard^^Jstyles to support this version of
NFSS.^^J^^J%
NFSS will probably work with your version but you might
encounter problems^^Jin certain situations (most of them are
described in the `nfss.bug' file).^^J^^J%
Since the new LaTeX release also fix many bugs we suggest
that you upgrade^^Jas soon as possible.^^J^^J}
\errmessage{Old LaTeX version! Type `h'}
\def\xpt{{\def\do{\noexpand\do\noexpand}%
\xdef\@preamblecmds{\@preamblecmds
%% \changes{v1.1j}{90/06/03}{Removed `xpt from `@preamblecmds}
%% \changes{v1.1k}{90/06/23}{`addstuffto@version added to `preamblecmds.}
\do\addtoversion
\do\addtoversion@
\do\addstuffto@version
\do\define@mathalphabet
\do\define@mathgroup
\do\define@mathsizes
\do\define@nomathsize
\do\extra@def
\do\hexnumber@
\do\new@fontshape
\do\new@internalmathalphabet
\do\new@mathgroup
\do\new@mathversion
\do\newmathalphabet
\do\newmathalphabet@@
\do\newmathalphabet@@@
\do\preload@sizes
\do\process@table
\do\remove@nil
\do\set@alpha
\do\subst@fontshape
}}%
\def\@tabclassz{\ifcase \@lastchclass
\@acolampacol \or \@ampacol \or
\or \or \@addamp \or
\@acolampacol \or
\@firstampfalse \@acol \fi
\edef\@preamble{\@preamble{%
\ifcase \@chnum
\hfil\ignorespaces\@sharp\unskip\hfil
\or \ignorespaces\@sharp\unskip\hfil
\or \hfil\hskip\z@
\ignorespaces\@sharp\unskip\fi}}}%
\def\@ishortstack##1{\halign{\mb@l {####}%
\unskip\mb@r\cr ##1\crcr}\egroup}%
\def\cases##1{\left\{\,\vcenter{%
\normalbaselines\m@th\ialign{%
$####\hfil$&\quad{####}\hfil\crcr
##1\crcr}}\right.}%
\def\document{\endgroup
\@colht\textheight \@colroom\textheight \vsize\textheight
\columnwidth\textwidth \@clubpenalty\clubpenalty
\if@twocolumn \advance\columnwidth -\columnsep
\divide\columnwidth\tw@ \hsize\columnwidth \@firstcolumntrue
\fi
\hsize\columnwidth \linewidth\hsize
\begingroup\@floatplacement\@dblfloatplacement
\makeatletter\let\@writefile\@gobbletwo
\@input{\jobname.aux}\endgroup
\if@filesw \immediate\openout\@mainaux=\jobname.aux
\immediate\write\@mainaux{\relax}\fi
\process@table
%% \changes{v1.1l}{90/10/12}{Force `baselineskip initialisation.}
\let\glb@currsize\@empty
\def\do####1{\let ####1\@notprerr}%
\@preamblecmds
\let\do\noexpand
\@normalsize\everypar{}}%
\def\@begintheorem##1##2{\trivlist
\item[\hskip \labelsep{\bf ##1\ ##2}]\it}%
\def\@opargbegintheorem##1##2##3{\trivlist
\item[\hskip \labelsep{\bf ##1\ ##2\ (##3)}]\it}%
%% \changes{v1.1h}{90/02/17}{`@outputpage redefined.}
\def\@outputpage{\begingroup %\catcode`\ =10
\let\-\@dischyph \let\'\@acci \let\`\@accii \let\=\@acciii
\if@specialpage
\global\@specialpagefalse
\csname ps@\@specialstyle\endcsname\fi
\if@twoside
\ifodd\count\z@ \let\@thehead\@oddhead \let\@thefoot\@oddfoot
\let\@themargin\oddsidemargin
\else \let\@thehead\@evenhead
\let\@thefoot\@evenfoot \let\@themargin\evensidemargin
\fi\fi
\shipout\vbox{%
\rm \mediumseries \normalshape
\normalsize
\baselineskip\z@ \lineskip\z@
\let\par\@@par %% 15 Sep 87
\vskip \topmargin \moveright\@themargin
\vbox{\setbox\@tempboxa
\vbox to\headheight{\vfil \hbox to\textwidth
{\let\label\@gobble \let\index\@gobble
\@thehead}}%% 22 Feb 87
\dp\@tempboxa\z@
\box\@tempboxa
\vskip \headsep
\box\@outputbox
\baselineskip\footskip
\hbox to\textwidth{\let\label\@gobble
\let\index\@gobble %% 22 Feb 87
\@thefoot}}}\global\@colht\textheight
\endgroup\stepcounter{page}\let\firstmark\botmark}%
%% \changes{v1.1j}{90/06/03}{Redefined `xpt for letter.sty}
\def\xpt{\fontsize{10}{12pt}\selectfont}}
\else
\def\xpt{{\def\do{\noexpand\do\noexpand}%
\xdef\@preamblecmds{\@preamblecmds
\do\addtoversion
\do\addtoversion@
\do\addstuffto@version
\do\define@mathalphabet
\do\define@mathgroup
\do\define@mathsizes
\do\define@nomathsize
\do\extra@def
\do\hexnumber@
\do\new@fontshape
\do\new@internalmathalphabet
\do\new@mathgroup
\do\new@mathversion
\do\newmathalphabet
\do\newmathalphabet@@
\do\newmathalphabet@@@
\do\preload@sizes
\do\process@table
\do\remove@nil
\do\set@alpha
\do\subst@fontshape
}}}
\fi
%% \changes{v1.1n}{91/08/26}{Macro introduced.}
%% \changes{v1.1o}{91/11/21}{Changed to protected version of macro.}
%% \changes{v1.1o}{91/11/21}{Added extra braces for robustness.}
\def\reset@font{\protect\p@reset@font}
\def\p@reset@font{\fontfamily{\rmdefault}%
\fontseries{\mediumseriesdefault}%
\fontshape{\normalshapedefault}\selectfont}
\endinput
%%
%% End of file